package net.csdn.business.common.oauth2.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.csdn.business.common.domain.request.oauth.PersonalAccessTokenDTO;
import net.csdn.business.common.domain.request.oauth.PersonalAccessTokenQuery;
import net.csdn.business.common.domain.vo.oauth.PersonalAccessTokenVO;

import java.util.List;

/**
 * personalToken信息表;(person_token)表服务接口
 * @author : duweiwei
 * @date : 2022-12-12
 */
public interface IPersonalAccessTokenService {
    
    /** 
     * 通过ID查询单条数据 
     *
     * @param id 主键
     * @return 实例对象
     */
    PersonalAccessTokenVO queryById(String id);

    /**
     * 分页查询
     * @param query 筛选条件
     * @return
     */
    public Page<PersonalAccessTokenVO> findPageList(PersonalAccessTokenQuery query);
    /**
     * 根据条件查询私人token分页
     * @param query 筛选条件
     * @return
     */
    public List<PersonalAccessTokenVO> findList(PersonalAccessTokenQuery query);


    PersonalAccessTokenVO insertPersonTokenAndPermission(PersonalAccessTokenDTO personToken);

    int revoked(String tokenId);

    int revokedAll(String userId);

}